\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=5em,semithick]
    \tikzstyle{every state}=[text=black]
    \tikzset{nearnodes/.style={node distance=2em}}

    \node[state] (1) {1};
    \node[state] (3) [right of=1] {3};
    \node[state] (5) [right of=3] {5};
    \node[state] (6) [below of=3] {6};
    \node[state] (4) [below of=5] {4};
    \node[nearnodes] (+) [left of=1] {+};
    \node[nearnodes] (-5) [right of=5] {-};
    \node[nearnodes] (-6) [below of=6] {-};

    \path (1) edge node [below] {b} (3)
        (3) edge [bend right] node [sloped,midway,above] {a} (1)
        (5) edge [bend right] node [sloped,midway,above] {b} (3)
        (3) edge node [below] {b} (5)
        (6) edge node {a} (4)
        (1) edge node {a} (6)
        (5) edge node {a} (6)
        (4) edge [bend left] node {b} (6)
        (4) edge [loop below] node {a} (4);
\end{tikzpicture}